Serveur d'exploration sur la recherche en informatique en Lorraine

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

Using Static Analysis to Compile Non-sequential Functional Logic Programs?

Identifieur interne : 00A901 ( Main/Exploration ); précédent : 00A900; suivant : 00A902

Using Static Analysis to Compile Non-sequential Functional Logic Programs?

Auteurs : Julio Mari O [Espagne] ; Juan José Moreno-Navarro [Espagne]

Source :

RBID : ISTEX:50876C92293E2F0DA84BB1F02F1C97325A086472

Abstract

Abstract: The efficient implementation of functional logic languages relies on finding (if it exists) an optimal evaluation order for the arguments of functions. The problems of finding the best evaluation order, and the sequentiality of program rules are both difficult and can benefit from using static analysis techniques. The second problem is of special interest because the parallel evaluation of arguments is out of the question due to the possibility of backtracking and sharing of free logical variables among different arguments. However, the lack of sequentiality is often syntactic rather than semantic. In this paper we show that an adequate use of type information and strictness analysis can help a compiler to (i) derive an efficient evaluation order, and (ii) generate sequential code from most programs. Data structures (new versions of definitional trees) are introduced to take advantage of this kind of information and manage run time tests when the computation cannot be made sequential at compile time.

Url:
DOI: 10.1007/3-540-46584-7_5


Affiliations:


Links toward previous steps (curation, corpus...)


Le document en format XML

<record>
<TEI wicri:istexFullTextTei="biblStruct">
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">Using Static Analysis to Compile Non-sequential Functional Logic Programs?</title>
<author>
<name sortKey="Mari O, Julio" sort="Mari O, Julio" uniqKey="Mari O J" first="Julio" last="Mari O">Julio Mari O</name>
</author>
<author>
<name sortKey="Jose Moreno Navarro, Juan" sort="Jose Moreno Navarro, Juan" uniqKey="Jose Moreno Navarro J" first="Juan" last="José Moreno-Navarro">Juan José Moreno-Navarro</name>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:50876C92293E2F0DA84BB1F02F1C97325A086472</idno>
<date when="1999" year="1999">1999</date>
<idno type="doi">10.1007/3-540-46584-7_5</idno>
<idno type="url">https://api.istex.fr/ark:/67375/HCB-DMCCJS34-3/fulltext.pdf</idno>
<idno type="wicri:Area/Istex/Corpus">001290</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">001290</idno>
<idno type="wicri:Area/Istex/Curation">001273</idno>
<idno type="wicri:Area/Istex/Checkpoint">002287</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">002287</idno>
<idno type="wicri:doubleKey">0302-9743:1999:Mari O J:using:static:analysis</idno>
<idno type="wicri:Area/Main/Merge">00AF53</idno>
<idno type="wicri:Area/Main/Curation">00A901</idno>
<idno type="wicri:Area/Main/Exploration">00A901</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title level="a" type="main" xml:lang="en">Using Static Analysis to Compile Non-sequential Functional Logic Programs?</title>
<author>
<name sortKey="Mari O, Julio" sort="Mari O, Julio" uniqKey="Mari O J" first="Julio" last="Mari O">Julio Mari O</name>
<affiliation wicri:level="3">
<country xml:lang="fr">Espagne</country>
<wicri:regionArea>Dpto. LSIIS - Facultad de Informática, Universidad Politécnica de Madrid, Campus de Montegancedo s/n, 28660, Madrid</wicri:regionArea>
<placeName>
<settlement type="city">Madrid</settlement>
<region nuts="2" type="region">Communauté de Madrid</region>
</placeName>
</affiliation>
<affiliation wicri:level="1">
<country wicri:rule="url">Espagne</country>
</affiliation>
</author>
<author>
<name sortKey="Jose Moreno Navarro, Juan" sort="Jose Moreno Navarro, Juan" uniqKey="Jose Moreno Navarro J" first="Juan" last="José Moreno-Navarro">Juan José Moreno-Navarro</name>
<affiliation wicri:level="3">
<country xml:lang="fr">Espagne</country>
<wicri:regionArea>Dpto. LSIIS - Facultad de Informática, Universidad Politécnica de Madrid, Campus de Montegancedo s/n, 28660, Madrid</wicri:regionArea>
<placeName>
<settlement type="city">Madrid</settlement>
<region nuts="2" type="region">Communauté de Madrid</region>
</placeName>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series>
<title level="s" type="main" xml:lang="en">Lecture Notes in Computer Science</title>
<idno type="ISSN">0302-9743</idno>
<idno type="ISSN">0302-9743</idno>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt>
<idno type="ISSN">0302-9743</idno>
</seriesStmt>
</fileDesc>
<profileDesc>
<textClass></textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">Abstract: The efficient implementation of functional logic languages relies on finding (if it exists) an optimal evaluation order for the arguments of functions. The problems of finding the best evaluation order, and the sequentiality of program rules are both difficult and can benefit from using static analysis techniques. The second problem is of special interest because the parallel evaluation of arguments is out of the question due to the possibility of backtracking and sharing of free logical variables among different arguments. However, the lack of sequentiality is often syntactic rather than semantic. In this paper we show that an adequate use of type information and strictness analysis can help a compiler to (i) derive an efficient evaluation order, and (ii) generate sequential code from most programs. Data structures (new versions of definitional trees) are introduced to take advantage of this kind of information and manage run time tests when the computation cannot be made sequential at compile time.</div>
</front>
</TEI>
<affiliations>
<list>
<country>
<li>Espagne</li>
</country>
<region>
<li>Communauté de Madrid</li>
</region>
<settlement>
<li>Madrid</li>
</settlement>
</list>
<tree>
<country name="Espagne">
<region name="Communauté de Madrid">
<name sortKey="Mari O, Julio" sort="Mari O, Julio" uniqKey="Mari O J" first="Julio" last="Mari O">Julio Mari O</name>
</region>
<name sortKey="Jose Moreno Navarro, Juan" sort="Jose Moreno Navarro, Juan" uniqKey="Jose Moreno Navarro J" first="Juan" last="José Moreno-Navarro">Juan José Moreno-Navarro</name>
<name sortKey="Mari O, Julio" sort="Mari O, Julio" uniqKey="Mari O J" first="Julio" last="Mari O">Julio Mari O</name>
</country>
</tree>
</affiliations>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 00A901 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 00A901 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Wicri/Lorraine
   |area=    InforLorV4
   |flux=    Main
   |étape=   Exploration
   |type=    RBID
   |clé=     ISTEX:50876C92293E2F0DA84BB1F02F1C97325A086472
   |texte=   Using Static Analysis to Compile Non-sequential Functional Logic Programs?
}}

Wicri

This area was generated with Dilib version V0.6.33.
Data generation: Mon Jun 10 21:56:28 2019. Site generation: Fri Feb 25 15:29:27 2022